package ar.com.mooral.activities;

import java.util.Hashtable;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;

import ar.com.mooral.crohn.application.CrohnContext;
import ar.com.mooral.data.GeneralStatus;
import ar.com.mooral.data.PatientSymptoms;
import ar.com.mooral.data.Result;
import ar.com.mooral.data.Symptoms;
import ar.com.mooral.pojo.GeneralStatusPojo;
import ar.com.mooral.pojo.PatientSymptomPojo;


public class SintomaPersonalizado extends CrohnActivity {

	protected PatientSymptoms patientSymptoms;
//	protected String nivel;
	protected String lastPain;
	protected static String SINTOMA_PERSONALIZADO_NIVEL_NADA 	= "0";
	protected static String SINTOMA_PERSONALIZADO_NIVEL_LEVE 	= "1";
	protected static String SINTOMA_PERSONALIZADO_NIVEL_MODERADO= "2";
	protected static String SINTOMA_PERSONALIZADO_NIVEL_INTENSO = "3";
	protected static String SINTOMA_PERSONALIZADO_NIVEL_TERRIBLE= "4";
	
	
	private PatientSymptomPojo pojo;

	protected void onStart() {
		super.onStart();

		((Button) findViewById(R.id.btnSintomaPersonalizadoFechaHora)).setText(CrohnContext.getHumanDate(pojo.getDate()));
		((TextView) findViewById(R.id.lblSintomaPersonalizadoNombre)).setText(pojo.getName());
		updatePainImages();
		
	}

	
	
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sintoma_personalizado);

        if (!CrohnContext.isPojoLoaded()) {
			PatientSymptomPojo newPojo = new PatientSymptomPojo();
			newPojo.setDate(CrohnContext.getDateTimeNow());
			CrohnContext.setPojo(newPojo);
		}
		pojo = (PatientSymptomPojo) CrohnContext.getPojo();

		patientSymptoms = new PatientSymptoms(this);
        

        // REGISTRAR
        Button btnSintomaPersonalizadoRegistrar = (Button) findViewById(R.id.btnSintomaPersonalizadoRegistrar);
        btnSintomaPersonalizadoRegistrar.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {

		 
		    	if (pojo.getPain().equals("")) {
		    		Result r = new Result(Result.INFO, "Debe seleccionar el nivel de dolor");
		    		showMessage(r);
		    	} else {

		    		Result r = patientSymptoms.save(pojo);
		    		if (r.hasError()) {
			        	showMessage(r);
			        } else {
				    	finish();
			        }
		    	}
		    	
		    }
		});	        
        
        // RETORNO
    	Button btnSintomaPersonalizadoRetorno = (Button) findViewById(R.id.btnSintomaPersonalizadoRetorno);
    	btnSintomaPersonalizadoRetorno.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	finish();
		    	
		        //TabGroupActivity parentActivity = (TabGroupActivity)getParent();
	            //parentActivity.onBackPressed();

		    }
		});
    	
    
        
        // SELECCION FECHA Y HORA
        Button btnSintomaPersonalizadoFechaHora = (Button) findViewById(R.id.btnSintomaPersonalizadoFechaHora);
        btnSintomaPersonalizadoFechaHora.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
				Intent intent = new Intent();
				intent.setComponent(new ComponentName(SeleccionFechaHora.class.getPackage().getName(), SeleccionFechaHora.class.getName()));
				startActivity(intent);
		    }
		});	        
        
        
        // SELECCION NIVEL NADA
        ImageButton btnSintomaPersonalizadoNada = (ImageButton) findViewById(R.id.btnSintomaPersonalizadoNada);
        btnSintomaPersonalizadoNada.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setPain(SINTOMA_PERSONALIZADO_NIVEL_NADA);
		    	updatePainImages();
		    }
		});	        
    
        // SELECCION NIVEL LEVE
        ImageButton btnSintomaPersonalizadoLeve = (ImageButton) findViewById(R.id.btnSintomaPersonalizadoLeve);
        btnSintomaPersonalizadoLeve.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setPain(SINTOMA_PERSONALIZADO_NIVEL_LEVE);
		    	updatePainImages();
		    }
		});	        
    
        // SELECCION NIVEL MODERADO
        ImageButton btnSintomaPersonalizadoModerado = (ImageButton) findViewById(R.id.btnSintomaPersonalizadoModerado);
        btnSintomaPersonalizadoModerado.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setPain(SINTOMA_PERSONALIZADO_NIVEL_MODERADO);
		    	updatePainImages();
		    }
		});	        
    
        // SELECCION NIVEL INTENSO
        ImageButton btnSintomaPersonalizadoIntenso = (ImageButton) findViewById(R.id.btnSintomaPersonalizadoIntenso);
        btnSintomaPersonalizadoIntenso.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setPain(SINTOMA_PERSONALIZADO_NIVEL_INTENSO);
		    	updatePainImages();
		    }
		});	        
    
        // SELECCION NIVEL TERRIBLE
        ImageButton btnSintomaPersonalizadoTerrible = (ImageButton) findViewById(R.id.btnSintomaPersonalizadoTerrible);
        btnSintomaPersonalizadoTerrible.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
		    	pojo.setPain(SINTOMA_PERSONALIZADO_NIVEL_TERRIBLE);
		    	updatePainImages();
		    }
		});	        

        
        // INGRESO NOTA lblEstadoGeneralNota
        Button btnSintomaPersonalizadoNota = (Button) findViewById(R.id.btnSintomaPersonalizadoNota);
        btnSintomaPersonalizadoNota.setOnClickListener (new View.OnClickListener() {
		    public void onClick(View view) {
				Intent intent = new Intent();
				intent.setComponent(new ComponentName(IngresoNota.class.getPackage().getName(), IngresoNota.class.getName()));
				startActivity(intent);
		    }
		});
        
        
        
    }

	protected void updatePainImages(){
    	if(lastPain != null){
    		if(lastPain.equals(SINTOMA_PERSONALIZADO_NIVEL_NADA))
    			((ImageButton) findViewById(R.id.btnSintomaPersonalizadoNada)).setBackgroundResource(R.drawable.sintoma_personalizado_nada);
    		else if(lastPain.equals(SINTOMA_PERSONALIZADO_NIVEL_LEVE))
    			((ImageButton) findViewById(R.id.btnSintomaPersonalizadoLeve)).setBackgroundResource(R.drawable.sintoma_personalizado_leve);
    		else if(lastPain.equals(SINTOMA_PERSONALIZADO_NIVEL_MODERADO))
    			((ImageButton) findViewById(R.id.btnSintomaPersonalizadoModerado)).setBackgroundResource(R.drawable.sintoma_personalizado_moderado);
    		else if(lastPain.equals(SINTOMA_PERSONALIZADO_NIVEL_INTENSO))
    			((ImageButton) findViewById(R.id.btnSintomaPersonalizadoIntenso)).setBackgroundResource(R.drawable.sintoma_personalizado_intenso);
    		else if(lastPain.equals(SINTOMA_PERSONALIZADO_NIVEL_TERRIBLE))
    			((ImageButton) findViewById(R.id.btnSintomaPersonalizadoTerrible)).setBackgroundResource(R.drawable.sintoma_personalizado_terrible);
    	}
    	if(pojo.getPain() != null){
    		if(pojo.getPain().equals(SINTOMA_PERSONALIZADO_NIVEL_NADA))
    			((ImageButton) findViewById(R.id.btnSintomaPersonalizadoNada)).setBackgroundResource(R.drawable.sintoma_personalizado_nada_checked);
    		else if(pojo.getPain().equals(SINTOMA_PERSONALIZADO_NIVEL_LEVE))
    			((ImageButton) findViewById(R.id.btnSintomaPersonalizadoLeve)).setBackgroundResource(R.drawable.sintoma_personalizado_leve_checked);
    		else if(pojo.getPain().equals(SINTOMA_PERSONALIZADO_NIVEL_MODERADO))
    			((ImageButton) findViewById(R.id.btnSintomaPersonalizadoModerado)).setBackgroundResource(R.drawable.sintoma_personalizado_moderado_checked);
    		else if(pojo.getPain().equals(SINTOMA_PERSONALIZADO_NIVEL_INTENSO))
    			((ImageButton) findViewById(R.id.btnSintomaPersonalizadoIntenso)).setBackgroundResource(R.drawable.sintoma_personalizado_intenso_checked);
    		else if(pojo.getPain().equals(SINTOMA_PERSONALIZADO_NIVEL_TERRIBLE))
    			((ImageButton) findViewById(R.id.btnSintomaPersonalizadoTerrible)).setBackgroundResource(R.drawable.sintoma_personalizado_terrible_checked);
    	}
    	
    	lastPain = pojo.getPain();
    }
}
